ã³ã³ããã¹ãã«å¿ããèªã¿èŸŒã¿ã§ããã³ããšã³ãã®ããã©ãŒãã³ã¹ãæé©åããŠãŒã¶ãŒã³ã³ããã¹ãã«åºã¥ãããªãœãŒã¹é ä¿¡æ¹æ³ãåŠã³ãé床ãšãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãã°ããŒãã«ã«åäžãããŸãã
ããã³ããšã³ãã®ã³ã³ããã¹ãã«å¿ããèªã¿èŸŒã¿ïŒã³ã³ãã³ããæèãããªãœãŒã¹ç®¡ç
仿¥ã®ããã©ãŒãã³ã¹ãéèŠããããŠã§ãã®äžçã§ã¯ãé«éã§å¿çæ§ã®é«ããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãæäŸããããšãæãéèŠã§ãããããéæããããã®éèŠãªåŽé¢ã®äžã€ããå¹ççãªãªãœãŒã¹ç®¡çã§ããåŸæ¥ã®èªã¿èŸŒã¿æŠç¥ã§ã¯ãããã«å¿ èŠãã©ããã«é¢ãããããã¹ãŠã®ãªãœãŒã¹ãæåã«é ä¿¡ããããšããããããŸãããããã¯åæããŒãžã®èªã¿èŸŒã¿ããã«ããã¯ã«ã€ãªããããŠãŒã¶ãŒãšã³ã²ãŒãžã¡ã³ããå šäœçãªããã©ãŒãã³ã¹ã«åœ±é¿ãäžããå¯èœæ§ããããŸããã³ã³ããã¹ãã«å¿ããèªã¿èŸŒã¿ã¯ãããã€ã³ããªãžã§ã³ããªã¢ãããŒãã§ããããŠãŒã¶ãŒã®ã³ã³ããã¹ããšçŽè¿ã®ããŒãºã«åºã¥ããŠãªãœãŒã¹ã®é ä¿¡ã調æŽããããšã§ããã®èª²é¡ã«å¯ŸåŠããŸãã
ã³ã³ããã¹ãã«å¿ããèªã¿èŸŒã¿ãšã¯ïŒ
ã³ã³ããã¹ãã«å¿ããèªã¿èŸŒã¿ïŒã³ã³ãã³ãã¢ãŠã§ã¢ããŒãã£ã³ã°ãŸãã¯ã¢ãããã£ãããŒãã£ã³ã°ãšãåŒã°ããïŒã¯ãç¹å®ã®æ¡ä»¶ãã³ã³ããã¹ãã«åºã¥ããŠãªãœãŒã¹ïŒäŸïŒJavaScriptãCSSãç»åããã©ã³ãïŒãåçã«èªã¿èŸŒãããã³ããšã³ãã®æé©åæè¡ã§ãããã¹ãŠãäžåºŠã«èªã¿èŸŒãã®ã§ã¯ãªããã¢ããªã±ãŒã·ã§ã³ãç¹å®ã®ç¬éã«ã©ã®ãªãœãŒã¹ãå¿ èŠããã€ã³ããªãžã§ã³ãã«å€æãããããã ããèªã¿èŸŒã¿ãŸããããã«ãããåæãã€ããŒããæå°éã«æããããããŒãžã®èªã¿èŸŒã¿æéãççž®ãããäœæããã©ãŒãã³ã¹ãåäžããŸãã
ã°ããŒãã«ãªeã³ããŒã¹ãŠã§ããµã€ããèããŠã¿ãŸãããããšãŒãããã®ãŠãŒã¶ãŒã¯ãã¢ãžã¢ã®ãŠãŒã¶ãŒãšã¯ç°ãªãé貚èšå·ãæ¥ä»åœ¢åŒãèšèªãªãœãŒã¹ãå¿ èŠãšãããããããŸãããã³ã³ããã¹ãã«å¿ããèªã¿èŸŒã¿ã«ãããåãŠãŒã¶ãŒã«é¢é£ãããªãœãŒã¹ã®ã¿ãé ä¿¡ã§ããããŠã³ããŒãããã³åŠçããå¿ èŠãããããŒã¿éãåæžã§ããŸãã
ã³ã³ããã¹ãã«å¿ããèªã¿èŸŒã¿ã®ã¡ãªãã
- ããŒãžèªã¿èŸŒã¿é床ã®åäžïŒæåã«å¿ èŠãªãªãœãŒã¹ã®ã¿ãèªã¿èŸŒãããšã§ãåæããŒãžã®èªã¿èŸŒã¿æéãå€§å¹ ã«ççž®ãããŸããããã«ãããç¹ã«ã€ã³ã¿ãŒãããæ¥ç¶ãé ããŠãŒã¶ãŒã«ãšã£ãŠãããè¯ããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãããããããŸãã
- 垯åå¹ æ¶è²»ã®åæžïŒå¿ èŠãªãªãœãŒã¹ã®ã¿ãé ä¿¡ããããšã§ããŠãŒã¶ãŒãšãµãŒããŒã®äž¡æ¹ã§åž¯åå¹ ã®æ¶è²»ãåæžãããã³ã¹ãåæžãšããå¹ççãªãããã¯ãŒã¯ã«ã€ãªãããŸãã
- ãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã®åäžïŒããŒãžã®èªã¿èŸŒã¿æéãççž®ãããããå¿çæ§ã®é«ãã€ã³ã¿ãŒãã§ãŒã¹ã«ãªãããšã§ãããã¹ã ãŒãºã§é åçãªãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãå®çŸãããŠãŒã¶ãŒæºè¶³åºŠãšå®ççãåäžããŸãã
- SEOããã©ãŒãã³ã¹ã®åäžïŒæ€çŽ¢ãšã³ãžã³ã¯èªã¿èŸŒã¿æéãéããŠã§ããµã€ãã奜ã¿ãŸããã³ã³ããã¹ãã«å¿ããèªã¿èŸŒã¿ã¯ãããã©ãŒãã³ã¹ãæé©åããããšã§ãŠã§ããµã€ãã®SEOã©ã³ãã³ã°ãåäžãããããšãã§ããŸãã
- ãªãœãŒã¹å©çšã®æé©åïŒãªãœãŒã¹ã¯å¿ èŠãªãšãã«ã®ã¿èªã¿èŸŒãŸãããããäžèŠãªãªãœãŒã¹æ¶è²»ãé²ãããã·ã¹ãã å šäœã®å¹çãåäžããŸãã
ã³ã³ããã¹ãã«å¿ããèªã¿èŸŒã¿ã®çš®é¡
ã³ã³ããã¹ãã«å¿ããèªã¿èŸŒã¿ã¯ãç¹å®ã®ã·ããªãªããªãœãŒã¹ã¿ã€ãã«åãããŠãããŸããŸãªæè¡ã䜿çšããŠå®è£ ã§ããŸãã以äžã«äžè¬çãªã¢ãããŒããããã€ã玹ä»ããŸãã
1. é å»¶èªã¿èŸŒã¿ (Lazy Loading)
é å»¶èªã¿èŸŒã¿ã¯ããªãœãŒã¹ïŒéåžžã¯ç»åãåç»ïŒããã¥ãŒããŒãã«å ¥ãããšãããšãã«ã®ã¿èªã¿èŸŒãŸããæè¡ã§ããããã«ããããã©ãŠã¶ããŠãŒã¶ãŒã«ããã«ã¯èŠããªããªãœãŒã¹ãããŠã³ããŒãããã®ãé²ããŸãã
äŸïŒå€æ°ã®ç»åããããã¥ãŒã¹ãµã€ãã§ã¯ãé å»¶èªã¿èŸŒã¿ã䜿çšããŠããŠãŒã¶ãŒãããŒãžãäžã«ã¹ã¯ããŒã«ãããšãã«ã®ã¿ç»åãèªã¿èŸŒãããšãã§ããŸããããã«ãããåæããŒãžã®èªã¿èŸŒã¿æéãå€§å¹ ã«ççž®ãããŸãã`Intersection Observer` APIã®ãããªã©ã€ãã©ãªããReactã®ããŸããŸãªé å»¶èªã¿èŸŒã¿ã³ã³ããŒãã³ããAngularã®ãã€ãã£ããªé å»¶èªã¿èŸŒã¿æ©èœã®ãããªãã¬ãŒã ã¯ãŒã¯ã¯ãé å»¶èªã¿èŸŒã¿ã®å®è£ ãç°¡çŽ åããŸãã
ã³ãŒãäŸ (Intersection Observerã䜿çšããJavaScript)ïŒ
const images = document.querySelectorAll('img[data-src]');
const observer = new IntersectionObserver((entries, observer) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
const img = entry.target;
img.src = img.dataset.src;
img.removeAttribute('data-src');
observer.unobserve(img);
}
});
});
images.forEach(img => {
observer.observe(img);
});
2. ã³ãŒãåå² (Code Splitting)
ã³ãŒãåå²ã¯ã倧ããªJavaScriptãã³ãã«ãããªã³ããã³ãã§èªã¿èŸŒããå°ããªãã£ã³ã¯ã«åå²ããæè¡ã§ããããã«ãããç¹å®ã®ããŒãžãæ©èœã«å¿ èŠãªã³ãŒãã®ã¿ãèªã¿èŸŒãããšãã§ããåæããŠã³ããŒããµã€ãºãåæžããããã©ãŒãã³ã¹ãåäžãããããšãã§ããŸãã
äŸïŒè€æ°ã®ã¢ãžã¥ãŒã«ãæã€è€éãªWebã¢ããªã±ãŒã·ã§ã³ã§ã¯ãã³ãŒãåå²ã䜿çšããŠãåã¢ãžã¥ãŒã«ãå¿ èŠã«ãªã£ããšãã«ã®ã¿èªã¿èŸŒãããšãã§ããŸããWebpackãParcelãRollupãªã©ã®ããŒã«ã䜿çšãããšãJavaScriptãããžã§ã¯ãã§ã³ãŒãåå²ãç°¡åã«å®è£ ã§ããŸãã
ã³ãŒãåå²ã®ã·ããªãªäŸ *ã«ãŒãããŒã¹ã®åå²ïŒã·ã³ã°ã«ããŒãžã¢ããªã±ãŒã·ã§ã³ïŒSPAïŒå ã®ç°ãªãã«ãŒãã«å¯ŸããŠç°ãªããã³ãã«ãèªã¿èŸŒã¿ãŸãã *ã³ã³ããŒãã³ãããŒã¹ã®åå²ïŒç¹å®ã®ã³ã³ããŒãã³ããã¬ã³ããªã³ã°ããããšãã«ã®ã¿ãé¢é£ããã³ãŒããèªã¿èŸŒã¿ãŸãã *æ©èœããŒã¹ã®åå²ïŒãªãã·ã§ã³æ©èœã䜿çšé »åºŠã®äœãæ©èœã®ã³ãŒãããªã³ããã³ãã§èªã¿èŸŒã¿ãŸãã
3. æ¡ä»¶ä»ãèªã¿èŸŒã¿ (Conditional Loading)
æ¡ä»¶ä»ãèªã¿èŸŒã¿ã¯ããŠãŒã¶ãŒã®ããã€ã¹ã¿ã€ãããã©ãŠã¶ã®ããŒãžã§ã³ãå ŽæãèªèšŒã¹ããŒã¿ã¹ãªã©ã®ç¹å®ã®æ¡ä»¶ã«åºã¥ããŠãªãœãŒã¹ãèªã¿èŸŒãããšãå«ã¿ãŸãã
äŸïŒãŠã§ããµã€ãã¯æ¡ä»¶ä»ãèªã¿èŸŒã¿ã䜿çšããŠããã¹ã¯ãããããã€ã¹ãšã¢ãã€ã«ããã€ã¹çšã«ç°ãªãCSSã¹ã¿ã€ã«ã·ãŒããé ä¿¡ãããããŠãŒã¶ãŒã®å Žæã«åºã¥ããŠç°ãªãèšèªãªãœãŒã¹ãèªã¿èŸŒãã ãããããšãã§ããŸãã
ããã€ã¹æ€åºïŒç»é¢ãµã€ãºãããã€ã¹ã®èœåã«åºã¥ããŠç°ãªãã¹ã¿ã€ã«ã·ãŒããæäŸããŸãã *A/Bãã¹ãïŒç°ãªããŠãŒã¶ãŒã°ã«ãŒãã«å¯ŸããŠãã³ã³ããŒãã³ããæ©èœã®ç°ãªãããŒãžã§ã³ãèªã¿èŸŒã¿ãŸãã *æ©èœãã©ã°ïŒãµãŒããŒãµã€ãã®èšå®ã«åºã¥ããŠæ©èœãåçã«æå¹ãŸãã¯ç¡å¹ã«ããŸãã
4. ã«ãŒãããŒã¹ã®èªã¿èŸŒã¿
ã«ãŒãããŒã¹ã®èªã¿èŸŒã¿ã¯ãç¹ã«ã·ã³ã°ã«ããŒãžã¢ããªã±ãŒã·ã§ã³ïŒSPAïŒã§åœ¹ç«ã¡ãŸããçŸåšèšªåããŠããã«ãŒããããŒãžã«åºã¥ããŠãªãœãŒã¹ãèªã¿èŸŒãããšãå«ã¿ãŸããããã«ãããç¹å®ã®ã«ãŒãã«å¿ èŠãªãªãœãŒã¹ã®ã¿ãèªã¿èŸŒãŸããåæèªã¿èŸŒã¿æéãççž®ãããããã²ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ãåäžããŸãã
äŸïŒSPAã§ã¯ãããŒã ããŒãžãååã«ã¿ãã°ããŒãžããã§ãã¯ã¢ãŠãããŒãžã«å¯ŸããŠãç°ãªãJavaScriptãšCSSã®ãã³ãã«ãèªã¿èŸŒãããšãã§ããŸãã
React Router v6ã§ã®å®è£ *`React.lazy`ãš`Suspense`ã®äœ¿çšïŒãããã®ã³ã³ããŒãã³ããäžç·ã«äœ¿çšããŠãçŸåšã®ã«ãŒãã«åºã¥ããŠã³ã³ããŒãã³ããé å»¶èªã¿èŸŒã¿ã§ããŸãã *åçã€ã³ããŒãïŒã«ãŒãã蚪åããããšãã«ã®ã¿ã³ã³ããŒãã³ããåçã«ã€ã³ããŒãããŸãã
5. ãã±ãŒã«ããŒã¹ã®èªã¿èŸŒã¿
ã°ããŒãã«ãªèŠèŽè ã«å¯Ÿå¿ãããŠã§ããµã€ãã§ã¯ããã±ãŒã«ããŒã¹ã®èªã¿èŸŒã¿ã¯ããŠãŒã¶ãŒã®èšèªãå°åã«åºã¥ããŠãªãœãŒã¹ãèªã¿èŸŒãããšãå«ã¿ãŸããããã«ããããŠãŒã¶ãŒã¯å¥œã¿ã®èšèªã§ã³ã³ãã³ããé²èЧã§ãããŠã§ããµã€ãã¯çŸå°ã®æ £ç¿ã«é©å¿ããŸãã
äŸïŒãŠã§ããµã€ãã¯ãã±ãŒã«ããŒã¹ã®èªã¿èŸŒã¿ã䜿çšããŠããŠãŒã¶ãŒã®å Žæã«åºã¥ããŠç°ãªã翻蚳ãã¡ã€ã«ãé貚èšå·ãæ¥ä»åœ¢åŒãé ä¿¡ã§ããŸãã
å®è£ ãã¯ãã㯠*`Accept-Language`ããããŒã®äœ¿çšïŒãµãŒããŒãµã€ãã§`Accept-Language` HTTPããããŒã䜿çšããŠãŠãŒã¶ãŒã®åªå èšèªãæ€åºããŸãã *ã¯ã©ã€ã¢ã³ããµã€ãã®èšèªæ€åºïŒJavaScriptã䜿çšããŠãŠãŒã¶ãŒã®ãã©ãŠã¶ã®èšèªèšå®ãæ€åºããŸãã *ããŒã«ã©ã€ãºããããã³ãã«ã®æäŸïŒæ€åºããããã±ãŒã«ã«åºã¥ããŠã翻蚳ãããã³ã³ãã³ããå«ãç°ãªããã³ãã«ãåçã«æäŸããŸãã
ã³ã³ããã¹ãã«å¿ããèªã¿èŸŒã¿ã®å®è£ ïŒã¹ããããã€ã¹ãããã¬ã€ã
ã³ã³ããã¹ãã«å¿ããèªã¿èŸŒã¿ãå®è£ ããã«ã¯ãæ éãªèšç»ãšå®è¡ãå¿ èŠã§ããéå§ããããã®ã¹ããããã€ã¹ãããã¬ã€ãã以äžã«ç€ºããŸãã
1. ãŠã§ããµã€ãã®ãªãœãŒã¹äœ¿çšç¶æ³ãåæãã
æåã®ã¹ãããã¯ããŠã§ããµã€ãã®ãªãœãŒã¹äœ¿çšç¶æ³ãåæããã³ã³ããã¹ãã«å¿ããèªã¿èŸŒã¿ãé©çšã§ããé åãç¹å®ããããšã§ãããã©ãŠã¶ã®éçºè ããŒã«ïŒäŸïŒChrome DevToolsãFirefox Developer ToolsïŒã䜿çšããŠãåããŒãžã§èªã¿èŸŒãŸãããªãœãŒã¹ãšãã®ããã©ãŒãã³ã¹ãžã®åœ±é¿ãç¹å®ããŸãã
2. ã³ã³ããã¹ãã®æ©äŒãç¹å®ãã
åæã«åºã¥ããŠãã³ã³ããã¹ãã«å¿ããèªã¿èŸŒã¿ã®æ©äŒãç¹å®ããŸããæ¬¡ã®è³ªåãæ€èšããŠãã ããã
- åæããŒãžã®èªã¿èŸŒã¿æã«ããã«å¿ èŠãšãããªããªãœãŒã¹ã¯ã©ãã§ããïŒ
- ç¹å®ã®ãŠãŒã¶ãŒã€ã³ã¿ã©ã¯ã·ã§ã³ãæ©èœã«ã®ã¿å¿ èŠãªãªãœãŒã¹ã¯ã©ãã§ããïŒ
- ãŠãŒã¶ãŒã®ããã€ã¹ãå ŽæããŸãã¯ãã®ä»ã®æ¡ä»¶ã«åºã¥ããŠèªã¿èŸŒãããšãã§ãããªãœãŒã¹ã¯ã©ãã§ããïŒ
3. é©åãªãã¯ããã¯ãéžæãã
ç¹å®ãããæ©äŒãšé¢é£ããç¹å®ã®ãªãœãŒã¹ã«åºã¥ããŠãé©åãªã³ã³ããã¹ãã«å¿ããèªã¿èŸŒã¿ãã¯ããã¯ãéžæããŸããç»åãåç»ã«ã¯é å»¶èªã¿èŸŒã¿ãJavaScriptãã³ãã«ã«ã¯ã³ãŒãåå²ãCSSã¹ã¿ã€ã«ã·ãŒããèšèªãªãœãŒã¹ã«ã¯æ¡ä»¶ä»ãèªã¿èŸŒã¿ã®äœ¿çšãæ€èšããŠãã ããã
4. éžæãããã¯ããã¯ãå®è£ ãã
é©åãªããŒã«ãšã©ã€ãã©ãªã䜿çšããŠãéžæãããã¯ããã¯ãå®è£ ããŸããäŸãã°ãé å»¶èªã¿èŸŒã¿ã«ã¯`Intersection Observer` APIãã³ãŒãåå²ã«ã¯Webpackãæ¡ä»¶ä»ãèªã¿èŸŒã¿ã«ã¯ãµãŒããŒãµã€ãã¹ã¯ãªããã£ã³ã°ã䜿çšã§ããŸãã
5. ãã¹ããšæé©å
ã³ã³ããã¹ãã«å¿ããèªã¿èŸŒã¿ãå®è£ ããåŸããŠã§ããµã€ãã培åºçã«ãã¹ãããŠãæåŸ ã©ããã«æ©èœããããã©ãŒãã³ã¹ãåäžããããšã確èªããŸãããã©ãŠã¶ã®éçºè ããŒã«ã䜿çšããŠããŒãžã®èªã¿èŸŒã¿æéãæž¬å®ããæ®ã£ãŠããããã«ããã¯ãç¹å®ããŸããæè¯ã®çµæãåŸãããã«ãå®è£ ãç¶ç¶çã«æé©åããŠãã ããã
ã³ã³ããã¹ãã«å¿ããèªã¿èŸŒã¿ã®å®è·µäŸ
1. Eã³ããŒã¹ãŠã§ããµã€ã
Eã³ããŒã¹ãŠã§ããµã€ãã§ã¯ãã³ã³ããã¹ãã«å¿ããèªã¿èŸŒã¿ã次ã®ããã«äœ¿çšã§ããŸãã
- ãŠãŒã¶ãŒãããŒãžãäžã«ã¹ã¯ããŒã«ããã«ã€ããŠååç»åãé å»¶èªã¿èŸŒã¿ããã
- ãŠãŒã¶ãŒãååãã¯ãªãã¯ãããšãã«ã®ã¿åå詳现ãèªã¿èŸŒãã
- ãŠãŒã¶ãŒããã§ãã¯ã¢ãŠãã«é²ãã ãšãã«ã®ã¿æ±ºæžã²ãŒããŠã§ã€ã®ã¹ã¯ãªãããèªã¿èŸŒãã
- ãŠãŒã¶ãŒã®å Žæã«åºã¥ããŠç°ãªãé貚èšå·ãèšèªãªãœãŒã¹ãèªã¿èŸŒãã
2. ãã¥ãŒã¹ãŠã§ããµã€ã
ãã¥ãŒã¹ãŠã§ããµã€ãã§ã¯ãã³ã³ããã¹ãã«å¿ããèªã¿èŸŒã¿ã次ã®ããã«äœ¿çšã§ããŸãã
- ãŠãŒã¶ãŒãããŒãžãäžã«ã¹ã¯ããŒã«ããã«ã€ããŠèšäºã®ç»åãé å»¶èªã¿èŸŒã¿ããã
- ãŠãŒã¶ãŒãèšäºãã¯ãªãã¯ãããšãã«ã®ã¿ã³ã¡ã³ããé¢é£èšäºãèªã¿èŸŒãã
- ãŠãŒã¶ãŒã®ããã€ã¹ã¿ã€ãïŒãã¹ã¯ããããŸãã¯ã¢ãã€ã«ïŒã«åºã¥ããŠç°ãªãã¹ã¿ã€ã«ã·ãŒããèªã¿èŸŒãã
3. ãœãŒã·ã£ã«ã¡ãã£ã¢ãã©ãããã©ãŒã
ãœãŒã·ã£ã«ã¡ãã£ã¢ãã©ãããã©ãŒã ã§ã¯ãã³ã³ããã¹ãã«å¿ããèªã¿èŸŒã¿ã次ã®ããã«äœ¿çšã§ããŸãã
- ãŠãŒã¶ãŒããã£ãŒããäžã«ã¹ã¯ããŒã«ããã«ã€ããŠãŠãŒã¶ãŒãããã£ãŒã«ç»åãæçš¿ãé å»¶èªã¿èŸŒã¿ããã
- ãŠãŒã¶ãŒããã£ãããŠã£ã³ããŠãéãããšãã«ã®ã¿ãã£ããã¡ãã»ãŒãžãèªã¿èŸŒãã
- ãŠãŒã¶ãŒã®åªå èšèªã«åºã¥ããŠç°ãªãèšèªãªãœãŒã¹ãèªã¿èŸŒãã
ã³ã³ããã¹ãã«å¿ããèªã¿èŸŒã¿ã®ããã®ããŒã«ãšã©ã€ãã©ãª
ããã³ããšã³ããããžã§ã¯ãã§ã³ã³ããã¹ãã«å¿ããèªã¿èŸŒã¿ãå®è£ ããã®ã«åœ¹ç«ã€ããã€ãã®ããŒã«ãšã©ã€ãã©ãªããããŸãã
- Intersection Observer APIïŒèŠçŽ ããã¥ãŒããŒãã«åºå ¥ãããã®ãæ€åºããããã®ãã©ãŠã¶APIã§ãé å»¶èªã¿èŸŒã¿ã«åœ¹ç«ã¡ãŸãã
- WebpackïŒã³ãŒãåå²ããã®ä»ã®æé©åæè¡ããµããŒããã人æ°ã®JavaScriptãã³ãã©ã§ãã
- ParcelïŒã³ãŒãåå²ããµããŒããããèšå®äžèŠã®ãã³ãã©ã§ãã
- RollupïŒã©ã€ãã©ãªéçºã«ãã䜿çšãããããäžã€ã®JavaScriptãã³ãã©ã§ãã
- React.lazy and SuspenseïŒã³ã³ããŒãã³ãã®é å»¶èªã¿èŸŒã¿ãšèªã¿èŸŒã¿ç¶æ ã®åŠçã®ããã®Reactã³ã³ããŒãã³ãã§ãã
- Angular Lazy LoadingïŒã¢ãžã¥ãŒã«ã®é å»¶èªã¿èŸŒã¿ããµããŒãããAngularã®çµã¿èŸŒã¿æ©èœã§ãã
- lozad.jsïŒè»œéãªé å»¶èªã¿èŸŒã¿ã©ã€ãã©ãªã§ãã
課é¡ãšèæ ®äºé
ã³ã³ããã¹ãã«å¿ããèªã¿èŸŒã¿ã¯å€§ããªå©ç¹ããããããŸãããããã€ãã®èª²é¡ãèæ ®äºé ããããŸãã
- è€éãïŒã³ã³ããã¹ãã«å¿ããèªã¿èŸŒã¿ãå®è£ ãããšãããã³ããšã³ãã®ã³ãŒãããŒã¹ãè€éã«ãªãå¯èœæ§ããããŸãã
- ãã¹ãïŒã³ã³ããã¹ãã«å¿ããèªã¿èŸŒã¿ãæ£ããæ©èœãããªãœãŒã¹ãèŠèœãšãããŠããªãããšã確èªããããã«ã¯ã培åºçãªãã¹ããäžå¯æ¬ ã§ãã
- SEOïŒã³ã³ãã³ããåçã«èªã¿èŸŒãŸããå Žåã§ããæ€çŽ¢ãšã³ãžã³ã®ã¯ããŒã©ãŒããã¹ãŠã®ã³ã³ãã³ãã«ã¢ã¯ã»ã¹ã§ããããã«ããŠãã ããã
- ãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ïŒãªãœãŒã¹ãèªã¿èŸŒãŸããéã«ããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ãæ¥ã«å€åããã®ãé¿ããŠãã ãããããŒãã£ã³ã°ã€ã³ãžã±ãŒã¿ãŒããã¬ãŒã¹ãã«ããŒã䜿çšããŠãã¹ã ãŒãºãªãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãæäŸããŠãã ããã
ã³ã³ããã¹ãã«å¿ããèªã¿èŸŒã¿ã®ãã¹ããã©ã¯ãã£ã¹
ã³ã³ããã¹ãã«å¿ããèªã¿èŸŒã¿ã®ã¡ãªãããæå€§åããã«ã¯ã次ã®ãã¹ããã©ã¯ãã£ã¹ã«åŸã£ãŠãã ããã
- ãã¡ãŒã¹ããã¥ãŒã®ã³ã³ãã³ããåªå ããïŒåæããŒãžã®èªã¿èŸŒã¿æã«ãŠãŒã¶ãŒã«èŠããã³ã³ãã³ããå¯èœãªéãéãèªã¿èŸŒãŸããããã«ããŠãã ããã
- ããŒãã£ã³ã°ã€ã³ãžã±ãŒã¿ãŒã䜿çšããïŒãªãœãŒã¹ãèªã¿èŸŒã¿äžã§ããããšããŠãŒã¶ãŒã«ç¥ãããããã«ãæç¢ºãªããŒãã£ã³ã°ã€ã³ãžã±ãŒã¿ãŒããã¬ãŒã¹ãã«ããŒãæäŸããŠãã ããã
- ç»åãæé©åããïŒç»åãå§çž®ã»æé©åããŠãã¡ã€ã«ãµã€ãºãåæžããèªã¿èŸŒã¿é床ãåäžãããŸãã
- ãªãœãŒã¹ããã£ãã·ã¥ããïŒãã©ãŠã¶ã®ãã£ãã·ã¥ã掻çšããŠãªãœãŒã¹ãããŒã«ã«ã«ä¿åããç¹°ãè¿ãããŠã³ããŒãããå¿ èŠãæžãããŸãã
- ããã©ãŒãã³ã¹ãç£èŠããïŒæ¹åã®äœå°ãããé åãç¹å®ããããã«ããŠã§ããµã€ãã®ããã©ãŒãã³ã¹ãç¶ç¶çã«ç£èŠããŠãã ããã
ããã³ããšã³ãèªã¿èŸŒã¿ã®æªæ¥
ã³ã³ããã¹ãã«å¿ããèªã¿èŸŒã¿ã¯é²åãç¶ããåéã§ãããæ°ããæè¡ããã¯ãããžãŒãçµ¶ããç»å ŽããŠããŸããããã³ããšã³ãèªã¿èŸŒã¿ã®å°æ¥ã®ãã¬ã³ãã«ã¯ã次ã®ãããªãã®ããããŸãã
- äºæž¬èªã¿èŸŒã¿ïŒæ©æ¢°åŠç¿ã䜿çšããŠããŠãŒã¶ãŒã次ã«å¿ èŠãšããããªãªãœãŒã¹ãäºæž¬ããããã«å¿ããŠããªããŒãããŸãã
- HTTP/3ïŒããã©ãŒãã³ã¹ãšä¿¡é Œæ§ãåäžããæ°ããããŒãžã§ã³ã®HTTPãããã³ã«ã§ããªãœãŒã¹ã®èªã¿èŸŒã¿æ¹æ³ã«åœ±é¿ãäžããå¯èœæ§ããããŸãã
- ãšããžã³ã³ãã¥ãŒãã£ã³ã°ïŒãšããžãµãŒããŒã«ãªãœãŒã¹ããã£ãã·ã¥ããããšã§ãŠãŒã¶ãŒã«è¿ã¥ããé å»¶ãããã«åæžããŸãã
çµè«
ããã³ããšã³ãã®ã³ã³ããã¹ãã«å¿ããèªã¿èŸŒã¿ã¯ããŠã§ããµã€ãã®ããã©ãŒãã³ã¹ãæé©åãããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãåäžãããããã®åŒ·åãªæè¡ã§ãããŠãŒã¶ãŒã®ã³ã³ããã¹ãã«åºã¥ããŠã€ã³ããªãžã§ã³ãã«ãªãœãŒã¹ãèªã¿èŸŒãããšã§ãããŒãžã®èªã¿èŸŒã¿æéãå€§å¹ ã«ççž®ãã垯åå¹ ã®æ¶è²»ãæå°éã«æããã·ã¹ãã å šäœã®å¹çãé«ããããšãã§ããŸããã³ã³ããã¹ãã«å¿ããèªã¿èŸŒã¿ã®å®è£ ã«ã¯æ éãªèšç»ãšå®è¡ãå¿ èŠã§ããããã®ã¡ãªããã¯åªåã«èŠåããã®ã§ãããã®ã¬ã€ãã§æŠèª¬ãããã¹ããã©ã¯ãã£ã¹ã«åŸãããŠã§ããµã€ãã®ããã©ãŒãã³ã¹ãç¶ç¶çã«ç£èŠããããšã§ãã°ããŒãã«ãªèŠèŽè ã«é«éã§å¿çæ§ãé«ããé åçãªãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãæäŸããããšãã§ããŸãã